﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Runtime.Serialization;

namespace Entities.System
{
    [DataContract]
    public class Menu
    {
        [DataMember]
        public string id { get; set; }
        [DataMember]
        public string text { get; set; }

        [DataMember]
        public List<Menu> children { get; set; }

        [DataMember]
        public MenuAttr attributes { get; set; }
        [DataMember(Name = "checked")]
        public bool? Check { get; set; }

    }


    [DataContract]
    public class MenuAttr
    {
        [DataMember]
        public string URL { get; set; }
        [DataMember]
        public string PARENT_KEY { get; set; }
        [DataMember]
        public int SEQUENCE { get; set; }
        [DataMember]
        public int FUNC_TYPE { get; set; }

    }

    public class MyMenu
    {
        public int key { get; set; }
        public string text { get; set; }
        public int type { get; set; }
        public string href { get; set; }
        public string ToolTip { get; set; }
        public List<MyMenu> subMenu { get; set; }

    }


    public class FUNCTION
    {

        [DataMember]
        public int? FUNCTION_KEY { get; set; }

        [DataMember]
        public string FUNCTION_NAME { get; set; }
    }




    public class GroupMenuList
    {

        [DataMember]
        public string GROUP_KEY { get; set; }
        [DataMember]
        public  List<GroupMenuAttr> menus { get; set; }
        [DataMember]
        public List<GroupFactory > factorys { get; set; }
    }
    [DataContract]
    public class GroupMenu
    {
        [DataMember]
        public string id { get; set; }
        [DataMember]
        public string text { get; set; }
        [DataMember]
        public GroupMenuAttr attributes { get; set; }
        [DataMember]
        public List<GroupMenu> children { get; set; }
        [DataMember(Name = "checked")]
        public bool? Check { get; set; }

    }
    [DataContract]
    public class GroupMenuAttr
    {
        [DataMember]
        public string GROUP_FUNCTION_KEY { get; set; }
        [DataMember]
        public string ACTION_ID { get; set; }
        [DataMember]
        public int FUNCTION_KEY { get; set; }

    }

    [DataContract]
    public class FuncAction
    {
        [DataMember]
        public string ACTION_ID { get; set; }
        [DataMember]
        public int FUNC_KEY { get; set; }

    }
}
